To protect against data loss, many computer systems use both full and partial backups. Full backups can contain a complete or substantially complete set of data and can be used to restore a data store (e.g., a file system or database) to the state it existed at the time of the backup. One advantage of full backups is that a single backup can be used to restore data. A disadvantage of full backups is that they can contain all or substantially all data of a data store and therefore are often the most time consuming backup type to complete.
Partial backups can be broken down into two main variations: differential and incremental. A differential backup can be a cumulative backup of all or substantially all changes made since the last full backup. When differential backups are used, restoring a data store includes restoring a full backup plus its associated differential backup. A potential disadvantage of using differential backups is that for each day elapsed since the last full backup, more and more data is often backed up, especially if a significant proportion of the data has been changed. Another potential disadvantage is that it is desirable to have the full backup available at restore time. Should any one of the backups be damaged (particularly the full backup), the restore will be incomplete and may not be able to be performed at all. A differential backup typically cannot work without its associated full backup.
In contrast, an incremental backup can be a backup of all or substantially all changes made since the last backup of any type. When incremental backups are used, restoring a data store includes restoring a full backup plus each incremental backup that occurred since the full backup. A potential disadvantage of using incremental backups is that in order to perform a restore, one needs to restore the last full backup first, followed by each of the subsequent incremental backups in the correct order. Should any one of the backups be damaged (particularly the full backup), the restore will be incomplete and may not be able to be performed at all. An incremental backup typically cannot work without its associated full backup and all or substantially all associated incremental backups.
Another form of protection against data loss called logging can be used for some data stores. A log can include a history of actions executed by a database management system (DBMS) or file system over time. Restoring a data store using logs can include restoring a full backup and performing all (or substantially all) transactions in each log occurring after the full backup. In some DBMS products, such as SQL Server™, these logs are referred to as transaction logs.